Как ежедневно строить графики из csv файлов

24.08.2017

Допустим вы ведете файл Excel с продажами сотрудников. Вы бы хотели видеть результаты продаж за месяц в виде графика. Так быстрее и проще оценить эффективность сотрудника. Хорошо бы видеть разницу в показателях с предыдущим днем. Такой отчет необходим вам каждое утро. На помощь к нам приходит FastReport Desktop. С помощью него мы создадим отчет с красивым графиком и поставим задачу в планировщике на ежедневную отправку отчета к вам на электронный почтовый ящик.

Определимся с источником данных. Это будет csv файл, например, с таким содержанием:

 

У нас три колонки: номер заказа, дата оформления заказа, фамилия продавца.

Предположим этот файл ежедневно пополняется новыми данными. Тогда каждое утро начальник будет получать отчет с графиком продаж по сотрудникам.

Давайте создадим отчет. Добавляем новый источник данных – CSV файл.

 

Размещаем на странице отчета объект Диаграмма. Не важно на каком бэнде. Пусть это будет бэнд Данные.

 

Как вы заметили, заголовок отчета содержит дату:

 

Мы воспользовались системной переменной [Date], а, чтобы отобразить дату без времени применили функцию FormatDateTime.

Перейдем к диаграмме. Сделаем двойной клик по ней:

 

Вверху справа нужно выбрать источник данных для диаграммы, который называется у нас «Диаграмма». Диаграмма состоит из серий, которые собственно и представляют собой диаграммы. У нас уже есть одна добавленная серия – Series 1. Кликаем по ней.

На вкладке «Данные» нам нужно определить какие поля из источника мы будем отображать. Для значения X выбираем поле FirstName. Для значения Y – OrderID.

Выше есть поле «Фильтр». В него добавим вот такое сложное выражение:

FormatDateTime(ToDateTime([Диаграмма.OrderDate]), "MMYYYY") == FormatDateTime([Date], "MMYYYY")

Здесь мы получаем месяц и год из поля OrderDate и сравниваем его с текущим месяцем и годом. Таким образом мы фильтруем актуальные для текущего года и месяца данные.

Изменим имя серии на «Сегодня»:

 

Перейдем на вкладку «Обработка данных». Здесь мы включим группировку данных по «Значению X», а функция - Количество:

 

На вкладке «Подписи» выбираем «Тип подписи:» - Y

 

Теперь давайте добавим еще одну серию в диаграмму и назовем ее «Вчера»:

 

Настраиваем ее с такими же параметрами, как и первую серию, с одним лишь изменением. В фильтре появится еще одно условие:

(FormatDateTime(ToDateTime([Диаграмма.OrderDate]), "MMYYYY") == FormatDateTime([Date], "MMYYYY"))&&(ToDateTime([Диаграмма.OrderDate])<AddDays([Date],-1))

Теперь мы проверяем, чтобы данные были на дату меньше текущей на один день. Это даст нам возможность сравнить продажи на сегодняшний и вчерашний день.

Итак, отчет готов. Давайте создадим конфигурацию, которая будет отправлять отчет по почте. Запускаем приложение Configurator из пакета FastReport Desktop.

 

Выбираем файл отчета, отмечаем опцию «Export as» и выбираем формат PDF. Теперь включаем опцию «Send e-mail». При этом будет предложено настроить отправку писем:

 

И

 

Сохраняем файл конфигурации с помощью кнопки Save.

Запускаем приложение Scheduler из пакета FastReport Desktop.

Создаем задачу и редактируем параметры:

 

Выбираем файл конфигурации, триггер – Every day, дату и время начала. Периодичность повторения 1 день. Теперь каждый день в 17.00 начальнику будет приходить письмо на электронный почтовый ящик.

Давайте ради интереса запустим задачу, не дожидаясь времени исполнения. Делаем правый клик по задаче и выбираем Run task now:

 

И получаем письмо с вложенным pdf файлом. А в нем наш график:

 

Как видите, за какие-то 10-15 минут мы создали полезный инструмент для контроля. Вы также можете автоматизировать отправку других графиков и диаграмм.

.NET FastReport Десктоп CSV .NET FastReport Десктоп CSV
25 марта 2025

Как объединить несколько отчетов в один из FastReport .NET

FastReport .NET — это мощный инструмент для создания и управления отчётами. В данной статье мы рассмотрим, как объединить несколько отчётов в один в FastReport .NET.
11 марта 2025

Как использовать FastReport .NET Avalonia на Fedora Workstation с протоколом Wayland

В данной статье мы разберем, как запустить FastReport .NET Avalonia на операционной системе «Fedora Workstation 39» с протоколом Wayland.
7 марта 2025

Как создать QR-код с картинкой в FastReport .NET

В статье разобрались как вставлять картинку в QR Code из дизайнера отчётов FastReport .NET всего за пару кликов.